{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# System requirements"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "toc": true
   },
   "source": [
    "<h1>Table of Contents<span class=\"tocSkip\"></span></h1>\n",
    "<div class=\"toc\"><ul class=\"toc-item\"><li><span><a href=\"#System-requirements\" data-toc-modified-id=\"System-requirements-1\"><span class=\"toc-item-num\">1&nbsp;&nbsp;</span>System requirements</a></span><ul class=\"toc-item\"><li><span><a href=\"#Operating-System\" data-toc-modified-id=\"Operating-System-1.1\"><span class=\"toc-item-num\">1.1&nbsp;&nbsp;</span>Operating System</a></span></li><li><span><a href=\"#Python-Version\" data-toc-modified-id=\"Python-Version-1.2\"><span class=\"toc-item-num\">1.2&nbsp;&nbsp;</span>Python Version</a></span></li><li><span><a href=\"#Dependencies\" data-toc-modified-id=\"Dependencies-1.3\"><span class=\"toc-item-num\">1.3&nbsp;&nbsp;</span>Dependencies</a></span><ul class=\"toc-item\"><li><span><a href=\"#Optional-Dependencies\" data-toc-modified-id=\"Optional-Dependencies-1.3.1\"><span class=\"toc-item-num\">1.3.1&nbsp;&nbsp;</span>Optional Dependencies</a></span></li></ul></li></ul></li></ul></div>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Operating System \n",
    "The ArcGIS API for Python (2.4.0 and greater releases) is compatible with 64-bit versions of Windows, macOS (M-Series and Intel), and Linux.\n",
    "\n",
    "## Python Version\n",
    "Python 3.10.x to 3.13.x is required to use the ArcGIS API for Python 2.4.2 and greater releases.\n",
    "\n",
    "## Dependencies\n",
    "The full power of the ArcGIS API for Python is best experienced when all its dependencies are installed. However, specific tasks such as GIS administration and content management can be accomplished with a subset of dependencies installed. See [Install with minimum Dependencies](../install-and-set-up#install-with-minimum-dependencies) to install the `arcgis` package in this manner.\n",
    "\n",
    "It is recommended to install the `arcgis` package the default way of either `conda install -c esri arcgis arcgis-mapping` or `pip install arcgis arcgis-mapping`. When installed in this manner, all the below dependencies are automatically installed.\n",
    "\n",
    "> __Note__ Most of these packages have dependencies of their own. For a full list of packages installed:\n",
    "  > * conda environment, type `conda list -n <environment_name>`.  \n",
    "  > * pip environment, type `pip list`.\n",
    "    \n",
    "\n",
    "* [anywidget](https://anaconda.org/Esri/anywidget)\n",
    "* [cachetools](https://anaconda.org/anaconda/cachetools)\n",
    "* [certifi](hhttps://anaconda.org/anaconda/certifi) \n",
    "* [cryptography](https://anaconda.org/Esri/cryptography)\n",
    "* [dask >=2024.12.1,<2025.3](https://anaconda.org/Esri/dask)\n",
    "* [geomet >=1.0.0](https://anaconda.org/Esri/geomet)\n",
    "* [ipywidgets >=8](https://anaconda.org/Esri/ipywidgets)\n",
    "* [jupyterlab >=4.0.7,<4.4.0](https://anaconda.org/Esri/jupyterlab)\n",
    "* [keyring >=23.3.0](https://anaconda.org/Esri/keyring)\n",
    "* [lxml](https://anaconda.org/Esri/lxml)\n",
    "* [matplotlib](https://anaconda.org/Esri/matplotlib)\n",
    "* [matplotlib-inline](https://anaconda.org/Esri/matplotlib-inline)\n",
    "* [networkx >=3.3, <4](https://anaconda.org/Esri/networkx)\n",
    "* [numpy >=2.2.0,<3](https://anaconda.org/Esri/numpy) \n",
    "* [pandas >=2.0.0,<2.4.0](https://anaconda.org/Esri/pandas) \n",
    "* [pillow](https://anaconda.org/Esri/pillow)\n",
    "* [puremagic >=1.15,<2](https://anaconda.org/Esri/puremagic)\n",
    "* [pyarrow >=16,<21](https://anaconda.org/Esri/pyarrow)\n",
    "* [pydantic >=2.8.2,<3](https://anaconda.org/Esri/pydantic)\n",
    "* [pylerc](https://anaconda.org/Esri/pylerc)\n",
    "* [pyspnego >=0.8.0](https://anaconda.org/Esri/pyspnego)\n",
    "* [requests >=2.32.3,<3](https://anaconda.org/anaconda/requests)\n",
    "* [requests-gssapi](https://anaconda.org/Esri/requests-gssapi)\n",
    "* [requests-kerberos](https://anaconda.org/Esri/requests-kerberos)\n",
    "* [requests-oauthlib](https://anaconda.org/anaconda/requests-oauthlib)\n",
    "* [requests-toolbelt](https://anaconda.org/Esri/requests-toolbelt)\n",
    "* [truststore >=0.10.0](https://anaconda.org/Esri/truststore)\n",
    "* [ujson >=3](https://anaconda.org/anaconda/ujson)\n",
    "* [urllib3 >=2.1.0,<3](https://anaconda.org/anaconda/urllib3)\n",
    "* [websocket-client >=1.2.3,<2](https://anaconda.org/anaconda/websocket-client)\n",
    "\n",
    "\n",
    "* **Windows only:**\n",
    "  * [pywin32-security](https://anaconda.org/Esri/pywin32-security)\n",
    "  * [requests-negotiate-sspi](https://anaconda.org/Esri/requests-negotiate-sspi)\n",
    "\n",
    "> Note: The dependencies above result from installing using `conda`. Versions may vary if `arcgis` is installed using `pip`.\n",
    "\n",
    "> Note: if `arcpy` is found in the current python environment, it may be used in various locations. Otherwise, `gdal` or `pyshp` will be used. See [Spatially Enabled DataFrame](https://developers.arcgis.com/python/api-reference/arcgis.features.toc.html?highlight=geoaccessor#arcgis.features.GeoAccessor) for more information.\n",
    "\n",
    "\n",
    "\n",
    "### Optional Dependencies\n",
    "\n",
    "There are some other python packages that may be required to use certain functionality in the API, but are __not__ automatically installed. To use that functionality, you must manually call `conda install {package_name}` or `pip install {package_name}` for such optional packages.\n",
    "\n",
    "* [gdal](https://anaconda.org/Esri/gdal)\n",
    "    - if installed, gdal may be used as a geometry engine for certain operations\n",
    "    > Note: The gdal build on Esri anaconda channel is currently only compatible with environments configured with arcpy.\n",
    "* [pyshp](https://anaconda.org/anaconda/pyshp)\n",
    "    - if installed, pyshp may be used as a geometry engine for certain operations"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.5"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": true,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": true
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
